using System.Transactions;
using OracleInternal.ConnectionPool;
using OracleInternal.ServiceObjects;

namespace OracleInternal.MTS
{
	internal class CCPDTCPSPEManager : DTCPSPEManager
	{
		internal CCPDTCPSPEManager(OracleConnectionImpl connImpl, Transaction txn, MTSTxnRM txnRM, MTSTxnBranch txnBranch)
			: base(connImpl, txn, txnRM, txnBranch)
		{
		}

		internal override void InitialPSPEConn(Transaction txn, OracleConnectionImpl connImpl)
		{
			connImpl.m_pm.InitializePSPEConn(txn, connImpl);
		}

		internal override void ResetForPromotedTxn(OracleConnectionImpl connImpl, Transaction txn, string txnLocalId)
		{
			OracleConnectionDispenser<OraclePoolManager, OraclePool, OracleConnectionImpl>.PutFromPSPE(txn, connImpl);
		}
	}
}
